System and method for facilitating generation of hard copies

ABSTRACT

The present disclosure relates to a system and method for facilitating generation of hard copies. In one arrangement, the system and method involve selecting a document file written in a first language, selecting a translator configured to translate the document file into a second language, and packaging the document file and the translator together in a job package that can be received by a hard copy generation device.

FIELD OF THE INVENTION

[0001] The present disclosure relates to a system and method for facilitating generation of hard copies. More particularly, the disclosure relates to a system and method in which documents are packaged along with a translator that is configured to translate the document into a different language.

BACKGROUND OF THE INVENTION

[0002] Device drivers are normally used by computing devices (e.g., personal computers) to communicate with other end devices. For example, printer drivers are typically needed to send jobs from an application (e.g., word processing application) operating on the computing device to a printer. Generally speaking, drivers comprise software programs that control the device that is to be utilized. The driver acts like a translator between the end device and applications that use the device in that each device has its own set of specialized language in which it speaks. Drivers therefore are adapted to accept generic commands from an application and translate the generic commands into specialized commands for the end device.

[0003] Such drivers are usually provided to the user upon purchase of a particular device. Alternatively or in addition, a driver for a recently acquired device can be downloaded from the Internet. In that each driver is specifically adapted for a particular device, the user normally must install a different driver for each device that the user intends to access. Moreover, to obtain optimal performance, the user may need to periodically update the drivers as improved versions are developed by the device manufacturer. Understandably, the requirement of having to repeatedly install new and/or improved drivers can be cumbersome to the user. In addition, where the user is not computer savvy, having to install such drivers can be daunting as well as discouraging. From the device manufacturer's perspective, the provision of such drivers to the user for installation is likewise undesirable in terms of software development, distribution, and customer support.

[0004] Due to the disadvantages associated with conventional systems that incorporate drivers, several device manufacturers have developed so-called “driverless” systems in which the user need not manually install a driver to access and use a given device. In one available arrangement, a print server is used that stores all drivers for all devices connected to a network. In this arrangement, jobs are sent to the print server which acts as a translator for the device that is to execute the job. In another arrangement, each device stores its associated driver on internal memory and, when a print request is received from a new host, automatically uploads a copy of the driver software to the host. In yet a further arrangement, each device comprises an embedded web server and jobs are initiated by browsing to the device web server over a network. Once the job is initiated, a location (e.g., universal resource locator (URL)) of the job is delivered to the device so that the device can retrieve the job, determine which driver is needed, and forward the job to an online service that can perform the needed translation. Once the job is translated into a form that the hard copy generation device can understand, the job is sent back to the device for printing.

[0005] While providing a marked improvement over more conventional systems in several respects, driverless systems do not solve other problems. One example is situations involving sensitive documents. In such circumstances, such documents are sometimes only made available in hard copy form, in limited numbers, to avoid the potential for interception by unintended recipients. Such procedures are occasionally used for “top secret” government documents. Unfortunately, when a document is transmitted to a recipient, there is little preventing the recipient from generating (either intentionally or by mistake) many hard copies. Therefore, it may be desirable to control the number of times a document can be generated as a hard copy. Such control would also be advantageous from a copyright context where the user is only authorized to create one (or some other limited number) hard copy of a document. Unfortunately, this type of control is not available from current driverless systems or from more conventional driver-based systems.

[0006] From the foregoing, it can be appreciated that it would be desirable to have a system and method for facilitating generation of hard copies that comprises the advantages of “driverless” systems and which further provides greater control over the copies made.

SUMMARY OF THE INVENTION

[0007] The present disclosure relates to a system and method for facilitating generation of hard copies. In one arrangement, the system comprises means for selecting a document file written in a first language, means for selecting a translator configured to translate the document file into a second language, and means for packaging the document file and the translator together in a job package that can be received by a hard copy generation device.

[0008] In one arrangement, the method comprises the steps of selecting a document file written in a first language, selecting a translator configured to translate the document file into a second language, and packaging the document file and the translator together in a job package that can be received by a hard copy generation device.

[0009] The disclosure further relates to generating a hard copy. For instance, disclosed is a method for generating a hard copy, comprising the steps of receiving a job package comprising a document file representing a document, the document file written in a first language and a translator configured to translate the document file into a second language, opening the job package, using the translator to translate the document file into the second language, and generating a hard copy of the document.

[0010] Other systems, methods, features, and advantages of the invention will become apparent upon reading the following specification, when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention.

[0012]FIG. 1 is a schematic view of an example system.

[0013]FIG. 2 is a schematic view of a hard copy generation device shown in FIG. 1.

[0014]FIG. 3 is a schematic view of a computing device shown in FIG. 1.

[0015]FIG. 4 is a flow diagram that illustrates the operation of a job packager of the computing device shown in FIG. 3.

[0016]FIG. 5 is a flow diagram that provides an overview of the operation of a control module of the hard copy generation device shown in FIG. 2.

[0017]FIG. 6 is a flow diagram that illustrates a first mode of operation of the control module shown in FIG. 2.

[0018]FIG. 7 is a flow diagram that illustrates a second mode of operation of the control module shown in FIG. 2.

DETAILED DESCRIPTION

[0019] Disclosed is a system and method for facilitating generation of hard copies with which control can be exercised over the number of copies that are generated. To facilitate description of the system and method, an example system will first be discussed with reference to the figures. Although this system is described in detail, it will be appreciated that this system is provided for purposes of illustration only and that various modifications are feasible without departing from the inventive concept. After the example system has been described, examples of operation of the system will be provided to explain the manners in which control can be achieved.

[0020] Referring now in more detail to the drawings, in which like numerals indicate corresponding parts throughout the several views, FIG. 1 illustrates an example system 100. As indicated in this figure, the system 100 generally comprises a hard copy generation device 102. By way of example, this hard copy generation device 102 can comprise a printer. However, it is to be understood that the hard copy generation device 102 can comprise substantially any device that is capable of generating hard copy documents including photocopiers, facsimile machines, multifunction peripherals (MFPs), etc.

[0021] In addition to the hard copy generation device 102, the system 100 can include one or more computing devices 104. The computing devices 104 comprise substantially any device that is capable of use with the hard copy generation device 102 and, more particularly, which is capable of communicating with the hard copy generation device by transmitting data to and/or receiving data from the hard copy generation device. By way of example, the computing devices 104 comprise personal computers (PCs). Although PCs are identified in FIG. 1 and discussed herein, it will be appreciated that any one of the computing devices 104 could, alternatively, comprise another type of computing device including, for instance, notebook computers, personal digital assistants (PDAs), mobile telephones, etc.

[0022] As is further identified in FIG. 1, the hard copy generation device 102 and the computing devices 104 can, optionally, be connected to a network 106 that typically comprises one or more sub-networks that are communicatively coupled to each other. By way of example, these networks can include one or more local area networks (LANs) and/or wide area networks (WANs). Indeed, in some embodiments, the network 106 may comprise a set of networks that forms part of the Internet. As is depicted in FIG. 1, one or more of the computing devices 104 can be directly connected to the hard copy generation device 102. Such an arrangement is likely in a home environment in which the user does not have a home network and instead directly communicates to the hard copy generation device 102. In such a scenario, communication can be facilitated with a direct electrical and/or optical connection or through wireless communication.

[0023]FIG. 2 is a schematic view illustrating an example architecture for the hard copy generation device 102 shown in FIG. 1. As indicated in FIG. 2, the hard copy generation device 102 can comprise a processing device 200, memory 202, hard copy generation hardware 204, one or more user interface devices 206, one or more input/output (I/O) devices 208, and one or more network interface devices 210. Each of these components is connected to a local interface 212 that, by way of example, comprises one or more internal buses. The processing device 200 is adapted to execute commands stored in memory 202 and can comprise a general-purpose processor, a microprocessor, one or more application-specific integrated circuits (ASICs), a plurality of suitably configured digital logic gates, and other well known electrical configurations comprised of discrete elements both individually and in various combinations to coordinate the overall operation of the hard copy generation device 102.

[0024] The hard copy generation hardware 204 comprises the components with which the hard copy generation device 102 can generate hard copy documents. For example, the hard copy generation hardware 204 can comprise a print engine that is possible of many different configurations. The one or more user interface devices 206 typically comprise interface tools with which the device settings can be changed and through which the user can communicate commands to the hard copy generation device 102. By way of example, the user interface devices 206 comprise one or more function keys and/or buttons with which the operation of the hard copy generation device 102 can be controlled, and a display, such as a liquid crystal display (LCD), with which information can be visually communicated to the user and, where the display comprises a touch-sensitive screen, commands can be entered.

[0025] With further reference to FIG. 2, the one or more I/O devices 208 are adapted to facilitate connection of the hard copy generation device 102 to another device, such as a computing device 104, and may therefore include one or more serial, parallel, small computer system interface (SCSI), universal serial bus (USB), IEEE 1394 (e.g., Firewire™), and/or personal area network (PAN) components. The network interface devices 210 comprise the various components used to transmit and/or receive data over the network 106. By way of example, the network interface devices 210 include a device that can communicate both inputs and outputs, for instance, a modulator/demodulator (e.g., modem), wireless (e.g., radio frequency (RF)) transceiver, a telephonic interface, a bridge, a router, network card, etc.

[0026] The memory 202 includes various software (e.g., firmware) programs including an operating system 214, hard copy module 216, an embedded browser 218, and a control module 220. The operating system 214 contains the various commands used to control the general operation of the hard copy generation device 102. The hard copy module 216 comprises commands that control the operation of the hard copy generation hardware 204 so that the device 102 can generate hard copies. The browser 218, in conjunction with the network interface devices 210, facilitates connection with and communications over the network 106. The control module 220 comprises various commands that enable control over the number of times a document is created by the hard copy generation device 102. It is to be noted that, in terms of this disclosure, the term “document” is used to designate any media that can be used to generate hard copy documents. Therefore, “document” is used to identify written documents, photographs, etc. The operation of the control module 220 is described in greater detail below in relation to FIGS. 5-7.

[0027]FIG. 3 is a schematic view illustrating an example architecture for the computing devices 104 shown in FIG. 1. As indicated in FIG. 3, each computing device 104 can comprise a processing device 300, memory 302, one or more user interface devices 304, a display 306, one or more I/O devices 308, and one or more networking devices 310, each of which are connected to a local interface 312. The processing device 300 can include any custom made or commercially available processor, a central processing unit (CPU) or an auxiliary processor among several processors associated with the computing device 104, a semiconductor based microprocessor (in the form of a microchip), or a macroprocessor. The memory 302 can include any one of a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.).

[0028] The one or more user interface devices 304 comprise those components with which the user can interact with the computing device 104. For example, where the computing device 104 comprises a PC, these components can comprise a keyboard and mouse. Where the computing device 104 comprises a handheld device (e.g., PDA, mobile telephone), these components can comprise function keys or buttons, a touch-sensitive screen, etc. The display 306 can comprise a computer monitor or plasma screen for a PC or a liquid crystal display (LCD) for a handheld device. The one or more I/O devices 308 and the one or more network interface devices 310 operate and can have similar configuration to the like-named components described above with relation to FIG. 2.

[0029] The memory 302 normally comprises an operating system 314, one or more document applications 316, and a job packager 318. The operating system 314 controls the execution of other software and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The document applications 316 comprise applications that run on the computing device 104 and from which jobs can issue. By way of example, the document applications 316 can comprise a word processing application, image manager, etc. As is discussed in greater detail below with respect to FIG. 4, the job packager 318 is configured to bundle a document file with one or more translators that can be used by the hard copy generation device 102 to translate the document files into a language the hard copy generation device understands. In addition to these programs, the memory 302 can include a database 320 that can be used to store various different translators.

[0030] Various software (e.g., firmware) programs have been described herein. It is to be understood that these programs can be stored on any computer-readable medium for use by or in connection with any computer-related system or method. In the context of this document, a computer readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer-related system or method. These programs can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

[0031] The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium include an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM). Note that the computer-readable medium can even be paper or another suitable medium upon which a program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

[0032] An example system 100 having been described above, operation of the system will now be discussed. In the discussion that follows, flow diagrams are provided. It is to be understood that any process steps or blocks in these flow diagrams represent modules, segments, or portions of code that include one or more executable instructions for implementing specific logical functions or steps in the process. It will be appreciated that, although particular example process steps are described, alternative implementations are feasible. Moreover, steps may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved.

[0033] Generally speaking, operation of the system involves packaging of a document to with a translator such that the recipient device (e.g., hard copy generation device) can open the package, use the translator to translate the document file into a language it understands, and manipulate the document in some way (e.g., generate a hard copy). Once a hard copy has been created, the translator may simply be discarded by the recipient device. Packaging of the document and the translator will first be discussed with reference to FIG. 4 followed by discussion of example ways in which the packaged data can be utilized with reference to FIGS. 5-7.

[0034] Referring now to FIG. 4, illustrated is an example of operation of the job packager 318. As indicated in block 400, the job packager 318 is first initiated. This initiation can occur in several different ways. For example, initiation of the job packager 318 can occur in response to a command selected by a user from one of the document applications 316. In such a scenario, the user may have just completed creating or modifying a document that the user wishes to provide to another but that the user wishes to control in terms of the number of hard copies that can be generated. In another example, initiation can occur separate from the imaging application by opening a separate application associated with the job packager 318 on the computing device 104. In such a scenario, the user may not have created the document, but still may wish to forward it as well as control it.

[0035] Once the job packager 318 has been initiated, it can prompt the user to identify which document file is to packaged along with a translator, as indicated in block 402. Notably, this step may be skipped where the job packager 318 was initiated directly from the document application 316. Under other circumstances, the selection can be made by the user by browsing through computing device memory 302. For example, the user can be presented with drop-down menus with which the user can browse the files of the computing device hard drive or disk drives in a free format. Once the selection has been made, the selection can be received, as indicated in block 404.

[0036] At this point, the job packager 318 can prompt the user to select the translator that will be packaged along with the document, as indicated in block 406. Again, the user can be presented with a drop-down menu to aid in the selection. Preferably, several different translators are made available to the user for selection so that an appropriate translator can be chosen. As noted above, these translators can be stored, for instance, in the database 320. Where the user is uncertain which translator is needed, the user can be provided with the option to select more than one translator (e.g., the most commonly encountered translators). In a further arrangement, the translators can be automatically selected by the job packager 318 based upon various applicable criteria.

[0037] After the translator or translators has/have been selected, the selection can be received by the job packager 318, as indicated in block 408. At this point, the job packager 318 packages the document file with the selected translator(s), as indicated in block 410, to create a job package that may be sent to the hard copy generation device 102. Although not indicated in FIG. 4, the package can be manipulated in various ways prior to sending. For instance, the package can be encrypted such that the package cannot be “opened” with another computing device 104 but instead only used to generate hard copies. In addition, an address (e.g. a universal resource locator (URL)) can be appended to the package for reasons described below.

[0038]FIG. 5 illustrates the general operation of the control module 220 of the hard copy generation device 102. As indicated in block 500, a job package, for example sent to the hard copy generation device 102 from a computing device 104, is obtained. Once obtained, the job package can be unpacked by the control module 220, as indicated block 502. At this point, the control module 220 identifies the translator it needs to translate the document file of the package, as indicated in block 504, and uses the translator to translate the document file, as indicated in block 506. By way of example, the translator can be used to translate the document into a page description language (PDL) file, a printer control language (PCL) file, an image file (e.g., JPEG, TIFF, etc.), or the like. Once the translator has been used to translate the document, a hard copy can be created, as indicated in block 508. At this point, the translator or translators provided in the package obtained by the control module 220 can be discarded, as indicated in block 510, and flow is terminated.

[0039] Although the job package has been described as being transmitted to a hard copy generation device 102 for the creation of hard copies, it will be understood by persons having ordinary skill in the art that the receiving device could comprise substantially any device that is capable of unpacking the job package and translating it. For example, in some embodiments, it may be desirable for an intermediate device to receive the job package, open it, translate the document file, and then transmit a “print ready” file to the hard copy generation device 102. Other variations on this concept will be readily apparent to persons of skill in the art and are considered part of the invention.

[0040] An overview of operation of the control module 220 having been described, specific example modes of operation for the control module 220 will now be discussed with reference to FIGS. 6 and 7. As will be apparent from the discussions that follow, control can be exercised over the documents with the present system and method such that only limited number of hard copies can be generated. Beginning with the first mode, a job package is transmitted from a sender's computing device 104. By way of example, this transmission can be facilitated via an appropriate email application with the job package appended as an attachment. The job package is then received by the recipient's computing device 104. To prevent the package from being opened by the user with the computing device 104 or by an unauthorized person that has gained access to the user's computing device, the package is preferably encrypted. With such an arrangement, greater control can be exercised over the document contained within the package in that a viewable electronic copy of the document cannot be accessed.

[0041] With reference to block 600 of FIG. 6, the encrypted job package can be sent to the hard copy generation device 102 from the recipient computing device 104. In that the package is encrypted, access to the data contained therein cannot be obtained without an appropriate key. In one arrangement, the decryption key can be located remote from the hard copy generation device 102. In such a scenario, the control module 220 determines the location of the decryption key, as indicated in block 602, and retrieves it (from example via network 106), as indicated in block 604. Such retrieval is possible where an address, such as a URL is provided to the control module 220 along with the package. Where such an address is provided, the control module 220 can browse to the location, via the embedded browser 218, to retrieve the key.

[0042] Where control is to be exercised on the number of times the document contained within the package is to be generated in hard copy form, the decryption key can only be provided to the control module 220 if certain criteria are met. For instance, the decryption key holder (e.g., remote computing device) can register the number of requests for the decryption key made by the control module 220 for that particular job package. If, for example, only one hard copy is to be created, the key can only be provided to the control module 220 if a request has not been previously made.

[0043] If the decryption key is provided, the control module 220 can decrypt the job package, as indicated in block 606. At this point, flow can continue in similar manner to that described above in reference to FIG. 5. Specifically, the job package can be unpacked (608), the translator identified (610), the document file translated (612), and one or more hard copies generated (614). Once the hard copies have been created, both the translator(s) included in the package and the decryption key can be discarded, as indicated in block 616. Although the decryption key has been described as being located remotely from the hard copy generation device 102, persons having ordinary skill in the art will appreciate that, if desired, this key could be stored within the hard copy generation device 102 itself. In such an arrangement, key retrieval would not be necessary.

[0044] Referring now to FIG. 7, illustrated is a second example mode of operation. In this mode, an identification of the package location (i.e., address) can be received by the control module 220, as indicated in block 700 and this location information (e.g., URL) can be used to retrieve the job package, as indicated in block 702. To prevent uncontrolled hard copy generation, a limited use address (e.g., one time-use URL). In such a scenario, the job package can only be accessed, and hard copies therefore generated, a limited number of times by the hard copy generation device 102. Alternatively, the storage device (e.g., remote computing device) that served as a repository for the job package could track the number of times a copy of the job has been accessed by a hard copy generation device 102 or other device. Accordingly, the storage device could be configured to only satisfy a limited number of requests for the job package. As a further security feature, the package could be made available only to particular hard copy generation devices that have a unique identification or encoding. Operation in this manner permits a level of control in which hard copies can only be generated by certain devices.

[0045] After the package is retrieved, flow can continue in the manner described in reference to FIG. 5. Accordingly, the job package can be unpacked (704), the translator identified (706), the document translated (708), and hard copies are generated (710). As before, once hard copies have been generated, the translator(s) included in the package can be discarded, as indicated in block 712.

[0046] While particular embodiments of the invention have been disclosed in detail in the foregoing description and drawings for purposes of example, it will be understood by those skilled in the art that variations and modifications thereof can be made without departing from the scope of the invention as set forth in the following claims. For instance, although the job packages are described as being obtained by a hard copy generation device, persons having ordinary skill in the art will appreciate that the packages could, alternatively, be obtained by a hard copy generation service available over the network 106. Furthermore, the packages could be received, opened, and translated by an intermediate service that works in conjunction with a hard copy generation device that is similarly available over the network, if desired. 

What is claimed is:
 1. A method for facilitating generation of a hard copy, comprising the steps of: selecting a document file written in a first language; selecting a translator configured to translate the document file into a second language; and packaging the document file and the translator together in a job package that can be received by a hard copy generation device.
 2. The method of claim 1, wherein the step of selecting a document file comprises selecting a document file identified by a user.
 3. The method of claim 1, wherein the step of selecting a translator comprises selecting a translator identified by a user.
 4. The method of claim 1, further comprising the step of transmitting the job package to the hard copy generation device.
 5. The method of claim 1, further comprising the step of transmitting the job package to a recipient computing device.
 6. The method of claim 1, further comprising the step of encrypting the job package.
 7. The method of claim 1, further comprising the step of appending an address to the job package that identifies the location of a decryption key that can be used to decrypt the job package.
 8. A system for facilitating generation of a hard copy, comprising: means for selecting a document file written in a first language; means for selecting a translator configured to translate the document file into a second language; and means for packaging the document file and the translator together in a job package that can be received by a hard copy generation device.
 9. The system of claim 8, further comprising means for encrypting the job package.
 10. The system of claim 8, further comprising means for appending an address to the job package that identifies the location of a decryption key that can be used to decrypt the job package.
 11. A method for generating a hard copy, comprising the steps of: receiving a job package comprising a document file representing a document, the document file written in a first language, and a translator configured to translate the document file into a second language; opening the job package; using the translator to translate the document file into the second language; and generating a hard copy of the document.
 12. The method of claim 11, wherein the step of receiving a job package comprises receiving an encrypted job package.
 13. The method of claim 12, further comprising the step of decrypting the job package prior to opening it.
 14. The method of claim 13, further comprising the step of retrieving a decryption key prior to the step of decrypting the job package.
 15. The method of claim 14, wherein the step of retrieving a decryption key comprises retrieving the key via a network using an address appended to the job package.
 16. The method of claim 11, further comprising the step of registering with a remote computing device prior to generating the hard copy.
 17. The method of claim 16, wherein the step of generating a hard copy is enabled by the remote computing device.
 18. A system for generating a hard copy, comprising: means for receiving a job package comprising a document file representative of a document, the document file written in a first language and a translator configured to translate the document file into a second language; means for opening the job package; means for using the translator to translate the document file into the second language; and means for generating a hard copy of the document.
 19. The system of claim 18, further comprising means for decrypting the job package prior to opening it.
 20. The system of claim 19, further comprising means for retrieving a decryption key.
 21. A method for generating a hard copy, comprising the steps of: receiving an address that identifies the location of a job package that comprises a document file representative of a document, the document file written in a first language and a translator configured to translate the document file into a second language; retrieving the job package; opening the package; using the translator to translate the document file into the second language; and generating a hard copy of the document.
 22. The method of claim 21, wherein the step of retrieving the job package comprises retrieving the package from a remote location via a network.
 23. The method of claim 21, wherein the step of receiving an address comprises receiving a one-time use address.
 24. A system for generating a hard copy, comprising: means for receiving an address that identifies the location of a job package that comprises a document file written in a first language and a translator configured to translate the document file into a second language; means for retrieving the job package; means for opening the package; means for using the translator to translate the document file into the second language; and means for generating a hard copy of the document.
 25. The system of claim 24, wherein the means for retrieving the job package comprise means for retrieving the package from a remote location via a network. 